package qu.sol2bpel.protocol;

import org.antlr.v4.runtime.misc.NotNull;
import org.antlr.v4.runtime.tree.ParseTreeProperty;

import qu.sol2bpel.sol.grammar.SOL_FunctionalBaseVisitor;
import qu.sol2bpel.sol.grammar.SOL_FunctionalParser;
import qu.sol2bpel.sol.grammar.symbolTable.CymbolParser;
import qu.sol2bpel.sol.grammar.symbolTable.GlobalScope;
import qu.sol2bpel.sol.grammar.symbolTable.Scope;

public class ProtocolFunctionalVisitor extends SOL_FunctionalBaseVisitor<Void> {

	Protocol protocol;
	  
	ParseTreeProperty<Scope> scopes = new ParseTreeProperty<Scope>();
	GlobalScope globals;
	Scope currentScope; // define symbols in this scope
	
	public ProtocolFunctionalVisitor(Protocol p)
	{
		protocol = new Protocol(p);
	}
	public Protocol getProtocol() {
		return protocol;
	}

	public void setProtocol(Protocol protocol) {
		this.protocol = protocol;
	}
/*
	@Override public T visitArglist(@NotNull SOL_FunctionalParser.ArglistContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitAtom(@NotNull SOL_FunctionalParser.AtomContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitAnd_test(@NotNull SOL_FunctionalParser.And_testContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitYield_stmt(@NotNull SOL_FunctionalParser.Yield_stmtContext ctx) { return visitChildren(ctx); }

	*/	
	@Override public Void visitProtocol_definition(@NotNull SOL_FunctionalParser.Protocol_definitionContext ctx) 
	{
		protocol.setProtocol_name(ctx.NAME().getText());
		return visitChildren(ctx); 
	}

	/*
	@Override public T visitFile_input(@NotNull SOL_FunctionalParser.File_inputContext ctx) { return visitChildren(ctx); }

	*/
	
	/*
	@Override public T visitTestlist_star_expr(@NotNull SOL_FunctionalParser.Testlist_star_exprContext ctx) { return visitChildren(ctx); }

	*/
	
	/*
	@Override public T visitPower(@NotNull SOL_FunctionalParser.PowerContext ctx) { return visitChildren(ctx); }

	*/
	
	/*
	@Override public T visitSetup_stats(@NotNull SOL_FunctionalParser.Setup_statsContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitShift_expr(@NotNull SOL_FunctionalParser.Shift_exprContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitDecorated(@NotNull SOL_FunctionalParser.DecoratedContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitParameters(@NotNull SOL_FunctionalParser.ParametersContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitSimple_stmt(@NotNull SOL_FunctionalParser.Simple_stmtContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitTestlist(@NotNull SOL_FunctionalParser.TestlistContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitRun_stats(@NotNull SOL_FunctionalParser.Run_statsContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitArgument(@NotNull SOL_FunctionalParser.ArgumentContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitFuncdef(@NotNull SOL_FunctionalParser.FuncdefContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitDecorator(@NotNull SOL_FunctionalParser.DecoratorContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitBreak_stmt(@NotNull SOL_FunctionalParser.Break_stmtContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitImport_from(@NotNull SOL_FunctionalParser.Import_fromContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitComparison(@NotNull SOL_FunctionalParser.ComparisonContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitSliceop(@NotNull SOL_FunctionalParser.SliceopContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitDotted_as_name(@NotNull SOL_FunctionalParser.Dotted_as_nameContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitSubscript(@NotNull SOL_FunctionalParser.SubscriptContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitMap_stmt(@NotNull SOL_FunctionalParser.Map_stmtContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitReturn_stmt(@NotNull SOL_FunctionalParser.Return_stmtContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitWith_stmt(@NotNull SOL_FunctionalParser.With_stmtContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitStfpdef(@NotNull SOL_FunctionalParser.StfpdefContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 */
	
	/*
	@Override public Void visitSuite(@NotNull SOL_FunctionalParser.SuiteContext ctx) 
	{
		
		return visitChildren(ctx); 
	}
	 */
	/**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitTfpdef(@NotNull SOL_FunctionalParser.TfpdefContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitContinue_stmt(@NotNull SOL_FunctionalParser.Continue_stmtContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitJoin_stmt(@NotNull SOL_FunctionalParser.Join_stmtContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitDictorsetmaker(@NotNull SOL_FunctionalParser.DictorsetmakerContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitDotted_as_names(@NotNull SOL_FunctionalParser.Dotted_as_namesContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitTrailer(@NotNull SOL_FunctionalParser.TrailerContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitAnd_expr(@NotNull SOL_FunctionalParser.And_exprContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitYield_arg(@NotNull SOL_FunctionalParser.Yield_argContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitGlobal_stmt(@NotNull SOL_FunctionalParser.Global_stmtContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitWith_item(@NotNull SOL_FunctionalParser.With_itemContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitOr_test(@NotNull SOL_FunctionalParser.Or_testContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitExpr(@NotNull SOL_FunctionalParser.ExprContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitTestlist_comp(@NotNull SOL_FunctionalParser.Testlist_compContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitTest_nocond(@NotNull SOL_FunctionalParser.Test_nocondContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitRaise_stmt(@NotNull SOL_FunctionalParser.Raise_stmtContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitLambdef_nocond(@NotNull SOL_FunctionalParser.Lambdef_nocondContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitVarargslist(@NotNull SOL_FunctionalParser.VarargslistContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitImport_stmt(@NotNull SOL_FunctionalParser.Import_stmtContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitExcept_clause(@NotNull SOL_FunctionalParser.Except_clauseContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitEval_input(@NotNull SOL_FunctionalParser.Eval_inputContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitDecorators(@NotNull SOL_FunctionalParser.DecoratorsContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitExprlist(@NotNull SOL_FunctionalParser.ExprlistContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitLambdef(@NotNull SOL_FunctionalParser.LambdefContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitSmall_stmt(@NotNull SOL_FunctionalParser.Small_stmtContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitNonlocal_stmt(@NotNull SOL_FunctionalParser.Nonlocal_stmtContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitComp_op(@NotNull SOL_FunctionalParser.Comp_opContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitStrongtypedargslist(@NotNull SOL_FunctionalParser.StrongtypedargslistContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitImport_as_name(@NotNull SOL_FunctionalParser.Import_as_nameContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitComp_iter(@NotNull SOL_FunctionalParser.Comp_iterContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitFor_stmt(@NotNull SOL_FunctionalParser.For_stmtContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitArith_expr(@NotNull SOL_FunctionalParser.Arith_exprContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitAugassign(@NotNull SOL_FunctionalParser.AugassignContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitStmt(@NotNull SOL_FunctionalParser.StmtContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitSubscriptlist(@NotNull SOL_FunctionalParser.SubscriptlistContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitSingle_input(@NotNull SOL_FunctionalParser.Single_inputContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitAssert_stmt(@NotNull SOL_FunctionalParser.Assert_stmtContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitCompound_stmt(@NotNull SOL_FunctionalParser.Compound_stmtContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitNot_test(@NotNull SOL_FunctionalParser.Not_testContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitExpr_stmt(@NotNull SOL_FunctionalParser.Expr_stmtContext ctx) { return visitChildren(ctx); }

	*/
	
	@Override public Void visitFunctional_section(@NotNull SOL_FunctionalParser.Functional_sectionContext ctx) 
	{
		globals = new GlobalScope(null);
		currentScope = globals;
		return visitChildren(ctx); 
	}

	/**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitFactor(@NotNull SOL_FunctionalParser.FactorContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitEncoding_decl(@NotNull SOL_FunctionalParser.Encoding_declContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitWhile_stmt(@NotNull SOL_FunctionalParser.While_stmtContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitImport_name(@NotNull SOL_FunctionalParser.Import_nameContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitClassdef(@NotNull SOL_FunctionalParser.ClassdefContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitPass_stmt(@NotNull SOL_FunctionalParser.Pass_stmtContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitTerm(@NotNull SOL_FunctionalParser.TermContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public Void visitFlow_stmt(@NotNull SOL_FunctionalParser.Flow_stmtContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitTypedargslist(@NotNull SOL_FunctionalParser.TypedargslistContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitIf_stmt(@NotNull SOL_FunctionalParser.If_stmtContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitYield_expr(@NotNull SOL_FunctionalParser.Yield_exprContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitDotted_name(@NotNull SOL_FunctionalParser.Dotted_nameContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitStar_expr(@NotNull SOL_FunctionalParser.Star_exprContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitComp_for(@NotNull SOL_FunctionalParser.Comp_forContext ctx) { return visitChildren(ctx); }

	*//**
	 * {@inheritDoc}
	 *
	 * <p>The default implementation returns the result of calling
	 * {@link #visitChildren} on {@code ctx}.</p>
	 *//*
	@Override public T visitVfpdef(@NotNull SOL_FunctionalParser.VfpdefContext ctx) { return visitChildren(ctx); }
*/
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

}
